1. Field of the Invention
This invention relates to a demonstration, test and training system, in particular, to a satellite simulator.
2. Description of Related Art
A satellite simulator in accordance with the inventive arrangements provides advantages over all current demonstration, test and training systems now used. The system provides a novel and nonobvious satellite simulator which is useful as an aid in the test and development of spacecraft command and telemetry software applications and systems for ground stations. Current software applications are available which consist of tools and software components useful in the creation of spacecraft command and telemetry applications for ground stations. For example, Software Technology, Inc. of Melbourne, Fla. has developed and offers for commercial sale a commercial off-the-shelf product known as Open Systems COMET, or xe2x80x9cOS/COMET(copyright)xe2x80x9d.
OS/COMET consists of tools and software components useful in the creation of spacecraft command and telemetry applications for ground stations. Because every satellite ground station application is unique, applications such as OS/COMET are designed with an architecture that accommodates tailoring the basic core system to meet mission-specific requirements. For example these systems may be modified or customized to provide for various satellite orbit types, satellite mission profiles, constellation configurations, communications protocols, and message formats, of a wide variety of systems. The core functionality provided by satellite ground station applications, such as OS/COMET or large-scale simulation networks such as the United States Department of Defense""s multi-service simulation systems, is normally supplemented by additional COTS products and custom application modules, typically tied to the core system modules through standard network bus interfaces.
Application engineers building systems based on either OS/COMET type standardized software components or other custom developed systems applications for ground stations often need a test bed to evaluate their ground system development applications. Such test beds arise in several different forms but generally are designed to appear to the ground station software under development as a functioning satellite having the basic communications characteristics anticipated for the fully implemented hardware. In this regard, such test bed systems can be viewed as satellite simulators in that they simulate the outward functionality of an actual satellite for a particular system. Typically, such satellite simulators include software modules to generate appropriate communications and telemetry streams and to receive commands in the same manner as the fully implemented satellite would for the particular satellite or group of satellites.
There are several problems with the currently existing approaches to developing satellite simulators. One problem is that conventional satellite simulator systems have traditionally been custom designed and developed for each ground station application and therefore tend to be both costly and prone to their own development issues. Further, while major development programs may invest considerable resources in high-fidelity satellite simulators, application software developers may not always need the full functionality of such products. Also, high fidelity satellite simulators may have development cycles that leave application developers without suitable test harnesses at critical points early in the application software development cycle. These issues suggest a phased implementation approach to the satellite simulator test bed for each particular application. However, the phased approach creates further development issues. In particular, at the early stages of the ground station development cycle, only rudimentary testing may be required such that the test bed may be constructed to operate on a single host computer platform. However, as the ground station development cycle continues, so does the need for a simulator offering a higher degree of fidelity. This normally requires additional development effort, and sometimes entirely new software and hardware to implement the higher fidelity simulator. For example, the host computer on which the more basic simulator was installed may not offer suitable processing power to implement a higher fidelity simulator. Consequently a more powerful host may be required over time. In this regard, it is often the case with very high fidelity simulators that the processing power necessary cannot practically be provided on a single host computer, unless expensive mainframe computers are used.
Finally, even the use of a standardized ground station system such as OS/COMET requires a comprehensive user training program. In this regard, high-fidelity satellite simulators often need be designed with the fidelity and complexity needed for full mission rehearsals and mission time fault isolation and resolution and so on. Such complexity may make adaptation to more basic training programs difficult. Accordingly, there exists a need for a satellite simulator that is easy to manage and is maintainable by its users, so that a working system can be used with confidence when presenting a training exercise to a class, or in various test scenarios.
The present invention is a satellite simulator to aid in the development and test of a spacecraft command and telemetry application for ground stations. The present invention was conceived as a tool to permit a satellite simulator to be implemented effectively via a phased approach with scalability to successfully test ground station software at less cost than has traditionally been possible with customized simulator systems. The present invention provides core satellite simulation capabilities required for ground station spacecraft command and telemetry processing systems with the added benefits of scalability, phased implementation and distributed processing. The system permits the simulator to develop from a relatively crude simulation to a relatively high fidelity simulation over a period of time. The distributed architecture allows core elements of the simulator to remain unchanged on a host computer while additional elements are added or modified in a distributed processing environment. These capabilities and others are enabled by means of a distributed messaging system and configurable application specific command input module and telemetry output modules.
The present invention provides core satellite simulation capabilities required for testing ground station processing systems. These capabilities are in several specific areas: concepts analysis and verification, requirements analysis, development testing, mission rehearsals, on-orbit anomaly isolation and resolution, system testing, product marketing demonstrations, and user training. The present invention offers an inexpensive risk mitigation that relieves application developers of total dependency on the satellite simulation development schedule. Moreover, the present invention can be used to demonstrate the features of ground station application systems. Finally, the present invention can be easier to manage and can be maintained by the training team who can rely upon the knowledge that the training exercises will function properly when presented to a training class. From the spacecraft command and telemetry processing system, the present invention appears as a satellite that can provide a configurable telemetry stream and can accept configurable commands.
One common element of demonstration, test, and training systems is a necessity for the flexibility both to have automated, repeatable scenarios and to respond to ad hoc operator initiated directives. This is particularly important in the control of telemetry streams. Thus, the present invention provides both a scripted scenario capability and a direct operator command interface.
The present invention can concurrently generate a number of data streams updating various spacecraft measurands, in arbitrary combinations, and multiplex the values to generate a composite telemetry stream in a manner which mimics actual spacecraft operation. The rate at which the measurands are updated and the output rate of the composite telemetry streams can be separately controlled. Moreover, the present invention can generate multiple concurrent telemetry streams.
In one embodiment, the invention concerns a satellite simulator adapted for use with a plurality of satellite ground stations. The system preferably includes an application specific telemetry output module configurable for data transmission to any one of a plurality of satellite ground station data acquisition systems; an application specific command input module configurable for receiving data from any one of a plurality of satellite ground station data transmission systems; and a distributed messaging system for providing communications among the various modules comprising the simulator. The distributed messaging system is configured for providing communications between the satellite simulator modules installed on either a single host or distributed on multiple host computers. In particular, the distributed messaging system can utilize CORBA, DCOM, an OS/COMET Software Bus, or any other suitable mechanism for distributing objects and applications across multiple host computers.
A bi-directional communications channel can be provided between any one of the plurality of satellite ground stations and the satellite simulator for enabling passage of uplink command streams and downlink telemetry streams. The satellite simulator adapted for use with a plurality of satellite ground stations further comprises a command sequencer module responsive to the application specific input module. The application specific command input module can be further configurable for enabling communications between any one of the plurality of satellite ground station data transmission systems and the command sequencer module.
The command sequencer module includes a plurality of predetermined user-defined commands; a plurality of predetermined user-defined actions; and, means for associating the plurality of predetermined user-defined commands with the plurality of predetermined user-defined actions. Specifically, the associating means can comprise a database containing the plurality of predetermined user-defined commands and the plurality of predetermined user-defined actions.
The satellite simulator can further comprise a telemetry data stream formatter module, the application specific telemetry output module being responsive to the telemetry data stream formatter module; and, the application specific telemetry output module being further configurable for enabling communications between the telemetry data stream formatter module and any one of the plurality of satellite ground station data acquisition systems. The satellite simulator can also include a telemetry data stream generator linked to a user interface; the telemetry data stream formatter module being responsive to the telemetry data stream generator. The telemetry data stream generator can include a plurality of user-controlled and user-defined data generation sources; and, is configured for permitting selection of a data generating function from the plurality of user-controlled and user-defined data generation sources. The telemetry stream formatter module can further include a user-defined commutation table for describing proper multiplexing of individual measurands in a telemetry stream, whereby the user-defined commutation table corresponds to a ground station application system decommutation table used for properly extracting the properly multiplexed individual measurands in the telemetry stream.
The satellite simulator can also include a scripting language; and a processor for interpreting and executing directives of the scripting language. Furthermore, the telemetry data stream generator can comprise an external application specific telemetry data generator module for interfacing with an external telemetry data source. Similarly, the command sequencer module can further include an external application specific command processing module for transmitting commands to the external telemetry data source.
A method is also provided for generating telemetry streams. The method can comprise the steps of generating a continuous stream of state of health data from a user-controlled user-defined source; assembling the state of health data into an output telemetry stream; and, ensuring the synchronization of critical measurands contained in the state of health data with the output telemetry stream. Specifically, the assembling step can further comprise multiplexing the state of health data into a composite telemetry stream or into multiple concurrent composite telemetry streams. Moreover, the assembling step can include merging high volume data, like mission data, for example telecommunications streams or images, and on-board computer memory dumps, with the state of health data; and, multiplexing the merged data into an output telemetry stream.
In an alternative embodiment, the satellite simulator is adapted for use with a plurality of satellite ground stations and is comprised of a distributed messaging system for providing communications among a plurality of separate functional modules comprising the simulator. The distributed messaging system is configured for providing communication between the modules installed on both a single host and multiple host computers. A telemetry stream generator module is provided for selectively generating a telemetry data stream. Further, a telemetry data stream formatter is provided for receiving the telemetry data stream from the telemetry data stream generator. The telemetry data stream formatter further comprises an output interface for providing the telemetry data stream to an application specific telemetry output module in a predetermined format. Finally, a command sequencer module is provided which includes a plurality of predetermined user commands, a plurality of user defined actions, and linking means for associating the plurality of predetermined user defined commands with the plurality of predetermined user defined actions. The command sequencer module further includes input interface means for receiving command data in a predefined format from an application specific input module.